Tengo una condición dentro de httpd.conf que se ve así:
<If "-f '/some/path/to/existing/file'"> <VirtualHost _default:$port1> ServerName example.com ...config1... </VirtualHost> </If> </Else> <VirtualHost _default:$port1> ServerName example.com ...config2... </VirtualHost </Else>Sin embargo, me está dando un error de sintaxis AH00526 que dice "VirtualHost no permitido aquí". Si comento la condición "If Else" y coloco un VirtualHost fuera del bloque, funciona.
¿Cómo podría arreglar esto manteniendo la condición?
Podrías intentar lo siguiente. En lugar de usar directivas If (que en realidad están destinadas a verificar el parámetro de solicitud), puede intentar usar la directiva IfFile .
IfFile comprueba si existe un archivo al inicio. No tiene otra opción, por lo que deberá asegurarse de que sus comprobaciones de archivos sean exclusivas para cada servidor.